package com.shujia;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class Demo02WordCountJava {
    public static void main(String[] args) throws IOException {
        // 读取words.txt 统计单词的数量
        BufferedReader br = new BufferedReader(new FileReader("scala/data/words.txt"));

        // 创建一个Map集合用于保存最终的结果
        HashMap<String, Integer> wordCnt = new HashMap<>();

        String line;
        while ((line = br.readLine()) != null) {
            // 处理每行数据
            // 通过逗号进行切分，将每行数据中的每个单词切出来，然后进行遍历写入HashMap结构中
            for (String word : line.split(",")) {
                // 如果单词不存在，则直接放入Map中并将Value置为1
                if (!wordCnt.containsKey(word)) {
                    wordCnt.put(word, 1);
                } else {
                    // 如果单词存在，则将其Value取出来+1在写入
                    wordCnt.put(word, wordCnt.get(word) + 1);
                }
            }
        }

        // 打印最终的结果
        for (Map.Entry<String, Integer> kv : wordCnt.entrySet()) {
            System.out.println(kv.getKey() + "," + kv.getValue());
        }


    }
}
